Guide: Set up AWS
This guide helps you set up your AWS account on DataStori. 🚀
DataStori runs data pipelines in your environment using AWS Fargate and securely integrates with your account using a cross-account IAM role.
One-click deployment with CloudFormation​
You can set up AWS in one click with DataStori's CloudFormation template. The stack creates the resources DataStori needs in your AWS account and sends their details back to DataStori, so you do not copy ARNs or IDs by hand.
Before you start​
- Select the correct region. Check the region selector at the top right of the AWS console, and switch to the region where you want your data and pipelines before you create the stack. Every resource is created in the region the stack runs in.
- Have a VPC and subnets ready. You select an existing VPC and subnets when you launch the stack. DataStori's CloudFormation template does not create a VPC or subnets. The subnets need outbound internet access so pipeline tasks can pull their container image and call your source APIs.
Launch the stack​
- In the DataStori portal, open Infrastructure, choose AWS, and click Launch Stack under Quick Setup via CloudFormation. The AWS console opens a stack named
DataStori-Connectwith the template and your connection details filled in. - Confirm the region at the top right of the AWS console, as described above.
- Leave
DataStoriTokenandExternalCallbackUrlunchanged. - Under Networking, select your
VpcIdandSubnetIds. - Set
AssignPublicIpto match those subnets:ENABLEDfor public subnets that route to an Internet Gateway, orDISABLEDfor private subnets that route through a NAT Gateway. If it does not match, pipeline tasks cannot pull their image and will fail to start. - Acknowledge that the stack creates IAM resources, then click Create stack.
- Return to the portal. The Infrastructure page updates when the stack finishes.
The launch link is valid for one hour. If it expires, click Launch Stack again.
Resources the template creates​
| Resource | Purpose |
|---|---|
| S3 bucket | Stores pipeline output. Named datastori-<account-id>-<id>, encrypted, with public access blocked. Kept if you delete the stack. |
| Security group | Attached to pipeline tasks in your selected VPC. Allows outbound traffic only. |
| ECS cluster | Runs pipeline tasks on AWS Fargate. |
| Task execution role | Lets Fargate pull the container image and write logs. It has no access to your data. |
| Task role | Used by the pipeline code. It can read and write only the bucket above. |
| Management policy | Lets DataStori run, stop, and inspect ECS tasks, register task definitions, and pass the two task roles to ECS. |
| Cross-account role | Trusts DataStori's AWS account (595301649076) and carries the management policy. |
| Callback Lambda function and role | Sends the created resource details back to DataStori when the stack is created. |
The stack fills in the values listed in the summary below, apart from the VPC and subnets you select.
Adjust resources or enter values manually​
You can still open the AWS Infrastructure form after the stack finishes, or instead of using it. Click Enter manually instead on the Infrastructure page. Use the form to adjust the sizing of your pipeline tasks with Fargate CPU and Fargate Memory (MB), or to provide the values yourself.
Summary​
DataStori uses the following values to run pipelines in your AWS account. The CloudFormation stack creates or fills them in for you, and you can view or edit them in the AWS Infrastructure form.
- Your AWS Account ID:
123456789012 - VPC ID:
vpc-0123abcd - Subnet IDs:
subnet-abcde123, subnet-fghij456 - Assign Public IP:
ENABLEDfor public subnets, orDISABLEDfor private subnets - Security Group IDs:
sg-5678efgh - S3 Bucket Name:
datastori-123456789012-abcd1234 - S3 Bucket Region:
us-east-1 - ECS Cluster ARN:
arn:aws:ecs:region:account-id:cluster/YourClusterName - Task Execution Role ARN:
arn:aws:iam::account-id:role/<task-execution-role-name> - Task Role ARN:
arn:aws:iam::account-id:role/<task-role-name> - DataStori Cross-Account Role ARN:
arn:aws:iam::account-id:role/<cross-account-role-name> - CloudWatch Log Group ARN (Optional): If you have a preferred logging destination.